<!DOCTYPE html>
<ui:composition template="/master.xhtml"
	xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:p="http://primefaces.org/ui"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:ui="http://java.sun.com/jsf/facelets">

	<ui:define name="content">

		            <br />
            <h:outputText value="Salon: #{presupuestoBean.salon.nombreSalon}" />
			<br />	

		<p:wizard style="width:75%" nextLabel="Siguiente" backLabel="Atrás">

			<p:tab id="datos" title="Inicio">

				<p:panel header="Datos del Presupuesto">
					<h:panelGrid id="pricePanel" columns="2" style="width:100%"
						columnClasses="setenta-percent,treinta-percent top-alignment">
						<h:panelGroup layout="block">
							<h:panelGrid columns="3" cellpadding="3">

								<h:outputText value="Fecha del Presupuesto:" />
								<p:calendar id="fechaPresupuesto" value="#{presupuestoBean.fechaPresupuesto}" navigator="true" locale="es"
									pattern="dd-MM-yyyy" />
								<br />

								<h:outputText value="Interesado:" />
								<h:inputText id="inputInter" readonly="true" value="#{presupuestoBean.cadenaInteresado}" />
								<p:commandButton value="Seleccionar" type="button" onclick="PF('dlg2').show();" />

								<h:outputText value="Tipo de Evento:" />

								<p:selectOneMenu id="comboTipoEv" style="width:100%" converter="tipoeventoConverter"
									value="#{presupuestoBean.tipoEventoSelected}" effect="fade" var="te">

									<f:selectItems var="tipoev" value="#{presupuestoBean.listTipoEvento}" itemLabel="#{tipoev.nombreTipoEvento}"
										itemValue="#{tipoev}" />
									<p:column>
										<h:outputText value="#{te.nombreTipoEvento}" />
									</p:column>
								</p:selectOneMenu>
								<br />
								<h:outputText value="Fecha del Evento:" />
								<p:calendar id="fechaEvento" value="#{presupuestoBean.presupuesto.fechaEvento}" navigator="true" locale="es"
									pattern="dd-MM-yyyy" />
								<br />

							</h:panelGrid>
						</h:panelGroup>
						<h:panelGroup id="custGrid" layout="block">
							<h:outputText value="Monto Total($): " />
							<h:outputText value="#{presupuestoBean.montoTotal}" />
						</h:panelGroup>
					</h:panelGrid>




					<p:dialog header="Seleccionar Interesado" widgetVar="dlg2" modal="false" height="200" width="400">
						<p:dataTable var="inter" value="#{presupuestoBean.listInteresado}" rows="5" paginator="false"
							selection="#{presupuestoBean.interesadoSelected}" selectionMode="single" rowKey="#{inter.idInteresado}">
							<p:column headerText="DNI">
								<h:outputText value="#{inter.persona.nroDocumento}" />
							</p:column>

							<p:column headerText="Apellido y Nombre">
								#{inter.persona.apellido}, #{inter.persona.nombre}
							</p:column>

						</p:dataTable>
						<br />
						<p:commandButton value="Seleccionar" icon="ui-icon-disk" process="@this" update=":form:inputInter"
							onclick="PF('dlg2').close();" action="#{presupuestoBean.refrescarInteresado}" />
					</p:dialog>





					<br />
					<p:separator />
					<br />
					<h:panelGrid columns="2" cellpadding="3">

						<h:outputText value="Cantidad de Invitados:" />
						<p:spinner min="0" size="4" maxlength="4" value="#{presupuestoBean.presupuesto.cantidadInvitado}" />
						<h:outputText value="Cantidad Mínima de Invitados:" />
						<p:spinner min="0" size="4" maxlength="4" value="#{presupuestoBean.presupuesto.cantidadMinimaInvitados}" />
						<h:outputText value="Cantidad Máxima de Invitados:" />
						<p:spinner min="0" size="4" maxlength="4" value="#{presupuestoBean.presupuesto.cantidadMaximaInvitados}" />
					</h:panelGrid>
				</p:panel>
			</p:tab>

			<p:tab id="menus" title="Menús">
				<p:panel header="Selección de Menú">
					<h:panelGrid columns="2" style="width:100%" columnClasses="setenta-percent,treinta-percent top-alignment">
						<h:panelGroup layout="block">
							<h:panelGrid columns="2" cellpadding="3" columnClasses="label, value">

								<h:outputText value="Tipo de Menú:" />
								<p:selectOneMenu id="comboTipo" style="width:100%" converter="tipomenuConverter"
									value="#{presupuestoBean.tipoMenuSelected}" effect="fade" var="c" filter="true" filterMatchMode="startsWith">

									<f:selectItems var="car" value="#{presupuestoBean.listTipoMenu}" itemLabel="#{car.nombre}" itemValue="#{car}" />
									<p:column>
										<h:outputText value="#{c.nombre}" />
									</p:column>
									<p:ajax update="comboTipo" />
								</p:selectOneMenu>

								<h:outputText value="Clasificación:" />
								<p:selectOneMenu id="comboClasificacion" style="width:100%" converter="clasificacionmenuConverter"
									value="#{presupuestoBean.clasificacionSelected}" effect="fade" var="c" filter="true"
									filterMatchMode="startsWith">

									<f:selectItems var="car" value="#{presupuestoBean.listClasificacionMenu}" itemLabel="#{car.nombre}"
										itemValue="#{car}" />
									<p:column>
										<h:outputText value="#{c.nombre}" />
									</p:column>
									<p:ajax event="change" update="selectMenu" listener="#{presupuestoBean.cambiarComboMenu}" />
								</p:selectOneMenu>

								<h:outputText value="Menú:" />
								<p:selectOneMenu id="selectMenu" style="width:100%" converter="menuConverter"
									value="#{presupuestoBean.menuSelected}" effect="fade" var="c" filter="true" filterMatchMode="startsWith">

									<f:selectItems var="car" value="#{presupuestoBean.listMenu}" itemLabel="#{car.nombre}" itemValue="#{car}" />
									<p:column>
										<h:outputText value="#{c.nombre}" />
									</p:column>
									<p:ajax event="click" update="outputPrecio" />
								</p:selectOneMenu>

								<h:outputText value="Precio por persona($):" />
								<h:outputText id="outputPrecio" value="#{presupuestoBean.menuSelected.precio}" />

								<h:outputText value="Cantidad:" />
								<p:spinner value="#{presupuestoBean.menuPorPresupSelected.cantidad}" min="0" maxlength="3" />
							</h:panelGrid>
						</h:panelGroup>
						<h:panelGroup id="groupMenu" layout="block">
							<h:outputText value="Monto Total($): " />
							<h:outputText id="montoMenu" value="#{presupuestoBean.montoTotal}" />
						</h:panelGroup>
					</h:panelGrid>

					<br />
					<p:commandButton value="Agregar" icon="ui-icon-disk" process="@this,menus" update="TablaMenuSelect, montoMenu"
						action="#{presupuestoBean.agregarMenuSeleccionado}" />
					<br />

					<p:separator id="separatorMenu" />

					<br />


					<p:dataTable id="TablaMenuSelect" var="ms" value="#{presupuestoBean.listMenuSeleccionados}" selection=""
						rowKey="#{ms.id}" emptyMessage="Tabla vacía." rows="5" scrollable="true" editable="false" style="width:100%">

						<p:column headerText="Tipo Menú">
							<h:outputText value="#{ms.menu.tipomenu.nombre}" />
						</p:column>
						<p:column headerText="Clasificación Menú">
							<h:outputText value="#{ms.menu.clasificacionmenu.nombre}" />
						</p:column>
						<p:column headerText="Menú">
							<h:outputText value="#{ms.menu.nombre}" />
						</p:column>
						<p:column headerText="Cantidad">
							<h:outputText value="#{ms.cantidad}" />
						</p:column>

						<p:column style="width:70px;text-align: center" headerText="Eliminar">

							<p:commandButton process="TablaMenuSelect" update="TablaMenuSelect,:form:groupMenu" icon="ui-icon-close"
								title="View" action="#{presupuestoBean.eliminarMenu}">
								<f:setPropertyActionListener value="#{ms}" target="#{presupuestoBean.menuPorPresupSelected}" />

							</p:commandButton>

						</p:column>
					</p:dataTable>



				</p:panel>
			</p:tab>

			<p:tab id="bebidas" title="Bebidas">
				<p:panel header="Selección de Combo de Bebidas">
					<h:panelGrid columns="2" style="width:100%" columnClasses="setenta-percent,treinta-percent top-alignment">
						<h:panelGroup layout="block">
							<p:selectBooleanCheckbox>
								<p:ajax update=":form:panelprueba" listener="#{presupuestoBean.MostrarOcultarPanelBebidas}" />
							</p:selectBooleanCheckbox>
							<p:outputLabel value=" Bebida a cargo del interesado." />
						</h:panelGroup>
						<h:panelGroup id="groupBebida" layout="block">
							<h:outputText value="Monto Total($): " />
							<h:outputText id="montoBebida" value="#{presupuestoBean.montoTotal}" />
						</h:panelGroup>
					</h:panelGrid>

					<p:spacer width="5px"></p:spacer>

					<br />

					<p:separator id="separatorComboBebida" />
					<br />

					<p:panel id="panelprueba" visible="#{presupuestoBean.bebidasDuenio}" style="width:100%">

						<h:panelGrid columns="2" cellpadding="1">
							<p:panel header="Combos Disponibles" style="height: 250px;">
								<p:dataTable id="tablaBebidas" var="cbxs" value="#{presupuestoBean.listComboBebidaXSalon}" scrollable="true"
									editable="false" style="width:100%" selection="#{presupuestoBean.comboBebidaXSalonSelected}"
									selectionMode="single" rowKey="#{cbxs.id}">
									<p:ajax event="rowSelect" listener="#{presupuestoBean.onRowSelect}" update=":form:panelcombobebida" />
									<p:column headerText="Nombre Combo">
										<h:outputText value="#{cbxs.combobebida.nombreCombo}" />
									</p:column>
									<p:column headerText="Precio ($)">
										<h:outputText value="#{cbxs.precio}" />
									</p:column>
								</p:dataTable>
							</p:panel>
							<p:panel id="panelcombobebida" header="Descripción" style="width:300px;height: 250px;">
								<h:outputText value="#{presupuestoBean.comboBebidaXSalonSelected.combobebida.descripcionCombo}" />
							</p:panel>
						</h:panelGrid>
						<br />
						<p:commandButton value="Agregar" icon="ui-icon-disk" process="@this,bebidas"
							update="TablaComboBebidaSelect,montoBebida" action="#{presupuestoBean.agregarComboSeleccionada}" />
						<br />
						<br />

						<p:dataTable id="TablaComboBebidaSelect" var="cbs" value="#{presupuestoBean.listComboBebidaXSalonSeleccionadas}"
							selection="" rowKey="#{cbs.combobebida.idComboBebida}" emptyMessage="Tabla vacía." rows="5" scrollable="true"
							editable="false" style="width:100%">

							<p:column headerText="Nombre Combo">
								<h:outputText value="#{cbs.combobebida.nombreCombo}" />
							</p:column>
							<p:column headerText="Nombre Combo">
								<h:outputText value="#{cbs.precio}" />
							</p:column>


							<p:column style="width:70px;text-align: center" headerText="Eliminar">

								<p:commandButton process="TablaComboBebidaSelect"
									update=":#{p:component('TablaComboBebidaSelect')},:form:groupBebida" icon="ui-icon-close" title="View"
									action="#{presupuestoBean.eliminarCombo}">
									<f:setPropertyActionListener value="#{cbs}" target="#{presupuestoBean.comboBebidaXSalonSelected}" />

								</p:commandButton>

							</p:column>
						</p:dataTable>
					</p:panel>
					<br />
				</p:panel>
			</p:tab>

			<p:tab id="servicios" title="Servicios">
				<p:panel id="panelServ" header="Selección de Servicios Adicionales">

					<h:panelGrid columns="2" style="width:100%" columnClasses="setenta-percent,treinta-percent top-alignment">
						<h:panelGroup id="groupServicio" layout="block">
							<h:outputText value="Monto Total($): " />
							<h:outputText id="montoServicio" value="#{presupuestoBean.montoTotal}" />
						</h:panelGroup>
					</h:panelGrid>

					<h:panelGrid columns="2">
						<p:panel header="Proveedores y Promociones" style="height: 170px;">
							<p:dataTable id="tablaPromociones" var="sap" value="#{presupuestoBean.listServicioXSalon}" rows="10"
								scrollable="true" editable="false" style="width:100%" selection="#{presupuestoBean.servicioXSalonSelected}"
								selectionMode="single" rowKey="#{sap.id}">
								<p:ajax event="rowSelect" listener="#{presupuestoBean.onRowSelect}" update=":form:panelDesc" />

								<p:column headerText="Promoción">
									<h:outputText value="#{sap.servicioadicional.nombreServicio}" />
								</p:column>
								<p:column headerText="Importe">
									<h:outputText value="#{sap.precio}" />
								</p:column>
							</p:dataTable>
						</p:panel>
						<p:panel id="panelDesc" header="Descripción" style="width:280px;height: 170px;">
							<h:outputText value="#{presupuestoBean.servicioXSalonSelected.servicioadicional.descripcionServicio}" />
						</p:panel>
					</h:panelGrid>

					<br />
					<p:commandButton value="Agregar" icon="ui-icon-disk" process="@this,servicios"
						update="TablaServSelect,montoServicio" action="#{presupuestoBean.agregarSAPSeleccionada}" />
					<br />

					<p:separator id="separatorServicios2" />

					<br />

					<p:dataTable id="TablaServSelect" var="sap" value="#{presupuestoBean.listServicioXSalonSeleccionadas}" selection=""
						rowKey="#{sap.idServicioProveedor}" emptyMessage="Tabla vacía." rows="5" scrollable="true" editable="false"
						style="width:100%">

						<p:column headerText="Servicio">
							<h:outputText value="#{sap.servicioadicional.nombreServicio}" />
						</p:column>
						<p:column headerText="Importe">
							<h:outputText value="#{sap.precio}" />
						</p:column>

						<p:column style="width:70px;text-align: center" headerText="Eliminar">
							<p:commandButton process="TablaServSelect" update=":#{p:component('TablaServSelect')},:form:groupServicio"
								icon="ui-icon-close" title="View" action="#{presupuestoBean.eliminarServicio}">
								<f:setPropertyActionListener value="#{sap}" target="#{presupuestoBean.servicioXSalonSelected}" />

							</p:commandButton>

						</p:column>
					</p:dataTable>
				</p:panel>
			</p:tab>

			<p:tab id="importes" title="Importes Fijos">
				<p:panel header="Selección de importes fijos">

					<h:panelGrid columns="2" style="width:100%" columnClasses="setenta-percent,treinta-percent top-alignment">
						<h:panelGroup layout="block">
							
						</h:panelGroup>
						<h:panelGroup id="groupImporte" layout="block">
							<h:outputText value="Monto Total($): " />
							<h:outputText id="montoImporte" value="#{presupuestoBean.montoTotal}" />
						</h:panelGroup>
					</h:panelGrid>

					<h:panelGrid columns="2">
						<p:panel header="Tipos de Importes Fijos" style="height: 170px;">
							<p:dataTable id="tablaImportes" var="tipo" value="#{presupuestoBean.listImporteFijo}" rows="10" scrollable="true"
								editable="false" style="width:100%" selection="#{presupuestoBean.importeFijoSelected}" selectionMode="single"
								rowKey="#{tipo.idTipoImporteFijo}">
								<p:ajax event="rowSelect" listener="#{presupuestoBean.onRowSelect}" update=":form:panelDescTipoImporte" />
								<p:column headerText="Nombre">
									<h:outputText value="#{tipo.nombre}" />
								</p:column>
								<p:column headerText="Forma Aplicación">
									<h:outputText value="#{tipo.formaAplicacion}" />
								</p:column>
							</p:dataTable>
						</p:panel>
						<p:panel id="panelDescTipoImporte" header="Descripción" style="width:300px;height: 170px;">
							<h:outputText value="#{presupuestoBean.importeFijoSelected.descripcion}" />
						</p:panel>
						<h:panelGrid columns="2">
							<h:outputText value="Importe:" />
							<p:inputText value="#{presupuestoBean.importePresupuestoSelected.importe}" />
						</h:panelGrid>
						<br />
						<p:commandButton value="Agregar" icon="ui-icon-disk" process="@this,importes" update="TablaImporteSelect,montoImporte"
							action="#{presupuestoBean.agregarImporteSeleccionada}" />
						<br />
					</h:panelGrid>
					<br />
					<p:dataTable id="TablaImporteSelect" var="ifs" value="#{presupuestoBean.listImporteFijoSeleccionados}" selection=""
						rowKey="#{ifs.id}" emptyMessage="Tabla vacía." rows="5" scrollable="true" editable="false" style="width:100%">

						<p:column headerText="Tipo Importe">
							<h:outputText value="#{ifs.tipoimportefijo.nombre}" />
						</p:column>
						<p:column headerText="Forma Aplicación">
							<h:outputText value="#{ifs.tipoimportefijo.formaAplicacion}" />
						</p:column>
						<p:column headerText="Importe">
							<h:outputText value="#{ifs.importe}" />
						</p:column>

						<p:column style="width:70px;text-align: center" headerText="Eliminar">
							<p:commandButton process="TablaImporteSelect" update=":#{p:component('TablaImporteSelect')},:form:groupImporte" icon="ui-icon-close"
								title="View" action="#{presupuestoBean.eliminarImporteFijo}">
								<f:setPropertyActionListener value="#{ifs}" target="#{presupuestoBean.importePresupuestoSelected}" />

							</p:commandButton>

						</p:column>
					</p:dataTable>
				</p:panel>
			</p:tab>

			<p:tab id="confirm" title="Confirmación">
				<p:panel header="Confirmación de Datos">
					<h:outputText value="Inicio" styleClass="letra" />
					<h:panelGrid columns="2">
						<h:outputText value="Interesado:" />
						<h:outputText value="#{presupuestoBean.cadenaInteresado}" />

						<h:outputText value="Tipo de Evento:" />
						<h:outputText value="#{presupuestoBean.tipoEventoSelected.nombreTipoEvento}" />

						<h:outputText value="Fecha de Evento:" />
						<h:outputText value="#{presupuestoBean.presupuesto.fechaEvento}">
							<f:convertDateTime pattern="dd/MM/yyyy" />
						</h:outputText>

						<h:outputText value="Cantidad de Invitados:" />
						<h:outputText value="#{presupuestoBean.presupuesto.cantidadInvitado}" />

						<h:outputText value="Cantidad Mínima de Invitados:" />
						<h:outputText value="#{presupuestoBean.presupuesto.cantidadMinimaInvitados}" />

						<h:outputText value="Cantidad máxima de Invitados:" />
						<h:outputText value="#{presupuestoBean.presupuesto.cantidadMaximaInvitados}" />
					</h:panelGrid>

					<br />
					<p:separator />
					<br />

					<h:outputText value="Menús" styleClass="letra" />
					<p:dataList value="#{presupuestoBean.listMenuSeleccionados}" var="m" type="unordered">
							 #{m.menu.clasificacionmenu.nombre} - #{m.menu.nombre} - #{m.menu.tipomenu.nombre} - Cant: #{m.cantidad}
					    </p:dataList>

					<br />
					<p:separator />
					<br />

					<h:outputText value="Bebidas" styleClass="letra" />

					<p:dataList value="#{presupuestoBean.listComboBebidaXSalonSeleccionadas}" var="cb" type="unordered">
							 #{cb.combobebida.nombreCombo}
					    </p:dataList>


					<br />
					<p:separator />
					<br />

					<h:outputText value="Servicios Adicionales" styleClass="letra" />

					<p:dataList value="#{presupuestoBean.listServicioXSalonSeleccionadas}" var="sa" type="unordered">
							#{sa.servicioadicional.nombreServicio}
					    </p:dataList>

					<br />
					<p:separator />
					<br />

					<h:outputText value="Importes Fijos" styleClass="letra" />
					<p:dataList value="#{presupuestoBean.listImporteFijoSeleccionados}" var="ifs" type="unordered">
							#{ifs.tipoimportefijo.nombre} - #{ifs.tipoimportefijo.formaAplicacion} -  #{ifs.importe}
					    </p:dataList>

					<br />
					<p:separator />
					<br />
					<h:outputText value="Monto Total($): " styleClass="letra" />
					<h:outputText value="#{presupuestoBean.montoTotal}" styleClass="letra" />

					<br />
					<p:separator />
					<br />

					<p:commandButton value="Registrar" process="@this" actionListener="#{presupuestoBean.guardarPresupuesto}"
						styleClass="ui-priority-primary" oncomplete="PF('dpc2').show();"/>
					<br/>
					<br/>
					
					<p:commandButton value="Ver Detalle" icon="ui-icon-search" oncomplete="PF('dpc2').show();" update="dialogo"/>
					
					<p:dialog header="Datos del presupuesto creado." widgetVar="d1" modal="false" width="400">
							<h:outputText value="El presupuesto se ha creado correctamente."/>
						<br />
						<p:commandButton value="Cerrar" onclick="PF('dpc2').close();"/>
					</p:dialog>
					
					<p:dialog id="dialogo" header="Datos del presupuesto creado." widgetVar="dpc2" modal="false" width="600">
						<h:panelGrid columns="2" cellpadding="3">
							<h:outputText value="Interesado: "/>
							<h:outputText value="#{presupuestoBean.cadenaInteresado}"/>

							<h:outputText value="Fecha Evento: "/>
							<h:outputText value="#{presupuestoBean.presupuesto.fechaEvento}">
								 <f:convertDateTime pattern="dd/MM/yyyy" />
							</h:outputText>

							<h:outputText value="Número de presupuesto: "/>
							<h:outputText value="#{presupuestoBean.idPresup}"/>
						</h:panelGrid>
						<br />
						<p:commandButton value="Cerrar" onclick="PF('dpc2').close();" />
					</p:dialog>


				</p:panel>
			</p:tab>

		</p:wizard>

	<script type="text/javascript">
		PrimeFaces.locales["es"] = {
			closeText : "Cerrar",
			prevText : "Anterior",
			nextText : "Siguiente",
			monthNames : [ "Enero", "Febrero", "Marzo", "Abril", "Mayo",
					"Junio", "Julio", "Agosto", "Septiembre", "Octubre",
					"Noviembre", "Diciembre" ],
			monthNamesShort : [ "Ene", "Feb", "Mar", "Abr", "May", "Jun",
					"Jul", "Ago", "Sep", "Oct", "Nov", "Dic" ],
			dayNames : [ "Domingo", "Lunes", "Martes", "Miércoles", "Jueves",
					"Viernes", "Sábado" ],
			dayNamesShort : [ "Dom", "Lun", "Mar", "Mie", "Jue", "Vie", "Sab" ],
			dayNamesMin : [ "Do", "Lu", "Ma", "Mi", "Ju", "Vi", "Sa" ],
			weekHeader : "Semana",
			firstDay : 0,
			isRTL : false,
			showMonthAfterYear : false,
			yearSuffix : "",
			timeOnlyTitle : "Solo hora",
			timeText : "Tiempo",
			hourText : "Hora",
			minuteText : "Minuto",
			secondText : "Segundo",
			currentText : "Fecha actual",
			ampm : false,
			month : "Mes",
			week : "Semana",
			day : "Día",
			allDayText : "Todo el día"
		};
	</script>

</ui:define>
</ui:composition>
